home *** CD-ROM | disk | FTP | other *** search
- /* Effect Operators Mosaic
- 000
- */
-
- call addlib("rexxmathlib.library", 5, -30, 0)
-
- options results
- parse ARG Port Opt1 Opt2 Opt3 s0 t0 s1 t1 b
-
- ADDRESS value Port
-
- pp_GetWidth
- w=result
- pp_GetHeight
- h=result
- pp_GetDepth
- D=result
-
- pp_ComposeReqOff
- pp_GetCurrentBrush
- CB=result
- pp_FindEmptyBrush
- Brush=result
- pp_SetBrush Brush
- pp_GotoFrame s1
- pp_PicttoSpare
- pp_GotoFrame s0
- pp_Pickbrush 0 0 W H 1
-
- step=(s1-s0)
- Step_f0=-10/Step
- Step_f1=1000/Step
-
- pp_Compose 0 100 0
- pp_EffectOn
- do i=s0 to s1
- IF t1=1 then DO
- pp_GotoFrame (s1+i-s0)
- pp_PicttoSpare
- END
- pp_GotoFrame i
- f0=Step_f0*(i-s0)
- f1=Step_f1*(i-s0)
- IF t0=0 then DO
- pp_EffectOff
- pp_Plot W/2 H/2
- pp_EffectOn
- END
- pp_Sin 1 trunc(f0) trunc(f1) trunc(f0) trunc(f1)
- pp_boxf 0 0 W H
- END
-
- Step_f=100/Step
- Step_f0=10/Step
- Step_f1=-1000/Step
-
- pp_GotoFrame s0
- pp_SpareOnOff
- pp_PickBrush 0 0 W H 1
- pp_SpareOnOff
-
- do i=s0 to s1
- pp_GotoFrame i
- pp_SpareOnOff
- pp_EffectOff
- pp_Plot W/2 H/2
- pp_EffectOn
- f0=-10+Step_f0*(i-s0)
- f1=1000+Step_f1*(i-s0)
- f=Step_f*(i-s0)
- pp_Compose 0 100 0
- pp_Sin 1 trunc(f0) trunc(f1) trunc(f0) trunc(f1)
- pp_boxf 0 0 W H
- pp_SpareOnOff
- pp_Spare
- pp_Compose 0 f 0
- pp_boxf 0 0 W H
- END
-
- pp_Gotoframe s0
- pp_Sin 1 30 1000 30 1000
- pp_FreeBrush
- pp_SetBrush CB
-
- pp_EffectOff
- pp_ComposeReqOn
-
- EXIT
-